题目(链接)一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。示例1:输入:obstacleGrid=[[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3网格的正中间有一个障碍物。从左上角到右下角一共有2条不同的路径:1.向右->向右->向下->向下2.向下->向下->向右->向右示例2:输入:obstacleGrid=[[0,1],[0,0]]
题目(链接)给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1]的和最大,为 6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8]输出:23提示:1-104题解思路:动态规划判断是否需要加上当前位置,如果f[i-1]+nums[i]>=nums[i],那么nums[i]的最大子数组就是nums[i-1]的最大子数组加上nums[i];如果f[i-1]+nums[i
一、题目大意给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的节点数在范围[0,5000]内-104来源:力扣(LeetCode)链接:https://leetcode.cn/problems/balanced-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商
一、题目大意给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围[1,1000]内-100进阶:你可以运用递归和迭代两种方法解决这个问题吗?来源:力扣(LeetCode)链接:https://leetcode.cn/problems/symmetric-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路判断一个树是否对称等价于判断左右子树是否对称。分四步:(1)如果两个子树都为空指针,则
一、题目大意给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。示例1:输入:root=[1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例2:输入:root=[]输出:[]示例3:输入:root=[0]输出:[0]提示:树中结点数在范围[0,2000]内-100进阶:你可以使用原地算法(O(1)额外空间)展开这棵树吗?来源:力扣(LeetCode)链接:https:/
一、题目大意给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是[2,104]0来源:力扣(LeetCode)链接:https://leetcode.cn/problems/minimum-absolute-difference-in-bst著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路这道题给我们一棵二叉搜索树,让我们求任意个节点值之
一、题目大意给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。注意:本题和1038相同示例1:输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]示例2:输入:roo
题目(链接)一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。示例1:输入:obstacleGrid=[[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3网格的正中间有一个障碍物。从左上角到右下角一共有2条不同的路径:1.向右->向右->向下->向下2.向下->向下->向右->向右示例2:输入:obstacleGrid=[[0,1],[0,0]]
题目(链接)给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1]的和最大,为 6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8]输出:23提示:1-104题解思路:动态规划判断是否需要加上当前位置,如果f[i-1]+nums[i]>=nums[i],那么nums[i]的最大子数组就是nums[i-1]的最大子数组加上nums[i];如果f[i-1]+nums[i
一、题目大意给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的节点数在范围[0,5000]内-104来源:力扣(LeetCode)链接:https://leetcode.cn/problems/balanced-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商